﻿using System;

namespace HelloWindowsPhoneMVC.Services
{
    /// <summary>
    /// These classes are for testing the performance of the IoC container on the phone
    /// Causes 9 object instantiations by resolving
    /// </summary>
    public class A : IA
    {
         public A(IB b, IC c)
         {
             
         }
    }

    public class B : IB
    {
        public B(ID d)
        {
            
        }
    }

    //A and C have a circular dependency
    public class C : IC
    {
        public C(Func<IA> aFactory, IB b)
        {

        }
    }

    public class D : ID
    {
        public D(IE e)
        {

        }
    }

    public class E : IE
    {
        public E()
        {

        }
    }

    public interface IE
    {
    }

    public interface ID
    {
    }


    public interface IC
    {
    }

    public interface IB
    {
    }

    public interface IA
    {
    }
}